<?php


/*
* Copyright (c) 2008-2016 vip.com, All Rights Reserved.
*
* Powered by com.vip.osp.osp-idlc-2.5.11.
*
*/

namespace com\vip\xstore\wop\inner\wm\service;

class InfWmsPoStatusSModel {
	
	static $_TSPEC;
	public $infWmsPoStatusSId = null;
	public $transactionId = null;
	public $receiptNo = null;
	public $referenceNo = null;
	public $warehouse = null;
	public $receiptType = null;
	public $statusCode = null;
	public $actionTime = null;
	public $memo = null;
	public $rowMd5 = null;
	public $createdByUser = null;
	public $createdOffice = null;
	public $createdDtmLoc = null;
	public $createdTimeZone = null;
	public $updatedByUser = null;
	public $updatedOffice = null;
	public $updatedDtmLoc = null;
	public $updatedTimeZone = null;
	public $recordVersion = null;
	public $isDelete = null;
	public $procStatus = null;
	public $createTime = null;
	public $lineCount = null;
	public $ztHandleStatus = null;
	public $ztHandleRemark = null;
	
	public function __construct($vals=null){
		
		if (!isset(self::$_TSPEC)){
			
			self::$_TSPEC = array(
			1 => array(
			'var' => 'infWmsPoStatusSId'
			),
			2 => array(
			'var' => 'transactionId'
			),
			3 => array(
			'var' => 'receiptNo'
			),
			4 => array(
			'var' => 'referenceNo'
			),
			5 => array(
			'var' => 'warehouse'
			),
			6 => array(
			'var' => 'receiptType'
			),
			7 => array(
			'var' => 'statusCode'
			),
			8 => array(
			'var' => 'actionTime'
			),
			9 => array(
			'var' => 'memo'
			),
			10 => array(
			'var' => 'rowMd5'
			),
			11 => array(
			'var' => 'createdByUser'
			),
			12 => array(
			'var' => 'createdOffice'
			),
			13 => array(
			'var' => 'createdDtmLoc'
			),
			14 => array(
			'var' => 'createdTimeZone'
			),
			15 => array(
			'var' => 'updatedByUser'
			),
			16 => array(
			'var' => 'updatedOffice'
			),
			17 => array(
			'var' => 'updatedDtmLoc'
			),
			18 => array(
			'var' => 'updatedTimeZone'
			),
			19 => array(
			'var' => 'recordVersion'
			),
			20 => array(
			'var' => 'isDelete'
			),
			21 => array(
			'var' => 'procStatus'
			),
			22 => array(
			'var' => 'createTime'
			),
			23 => array(
			'var' => 'lineCount'
			),
			24 => array(
			'var' => 'ztHandleStatus'
			),
			25 => array(
			'var' => 'ztHandleRemark'
			),
			
			);
			
		}
		
		if (is_array($vals)){
			
			
			if (isset($vals['infWmsPoStatusSId'])){
				
				$this->infWmsPoStatusSId = $vals['infWmsPoStatusSId'];
			}
			
			
			if (isset($vals['transactionId'])){
				
				$this->transactionId = $vals['transactionId'];
			}
			
			
			if (isset($vals['receiptNo'])){
				
				$this->receiptNo = $vals['receiptNo'];
			}
			
			
			if (isset($vals['referenceNo'])){
				
				$this->referenceNo = $vals['referenceNo'];
			}
			
			
			if (isset($vals['warehouse'])){
				
				$this->warehouse = $vals['warehouse'];
			}
			
			
			if (isset($vals['receiptType'])){
				
				$this->receiptType = $vals['receiptType'];
			}
			
			
			if (isset($vals['statusCode'])){
				
				$this->statusCode = $vals['statusCode'];
			}
			
			
			if (isset($vals['actionTime'])){
				
				$this->actionTime = $vals['actionTime'];
			}
			
			
			if (isset($vals['memo'])){
				
				$this->memo = $vals['memo'];
			}
			
			
			if (isset($vals['rowMd5'])){
				
				$this->rowMd5 = $vals['rowMd5'];
			}
			
			
			if (isset($vals['createdByUser'])){
				
				$this->createdByUser = $vals['createdByUser'];
			}
			
			
			if (isset($vals['createdOffice'])){
				
				$this->createdOffice = $vals['createdOffice'];
			}
			
			
			if (isset($vals['createdDtmLoc'])){
				
				$this->createdDtmLoc = $vals['createdDtmLoc'];
			}
			
			
			if (isset($vals['createdTimeZone'])){
				
				$this->createdTimeZone = $vals['createdTimeZone'];
			}
			
			
			if (isset($vals['updatedByUser'])){
				
				$this->updatedByUser = $vals['updatedByUser'];
			}
			
			
			if (isset($vals['updatedOffice'])){
				
				$this->updatedOffice = $vals['updatedOffice'];
			}
			
			
			if (isset($vals['updatedDtmLoc'])){
				
				$this->updatedDtmLoc = $vals['updatedDtmLoc'];
			}
			
			
			if (isset($vals['updatedTimeZone'])){
				
				$this->updatedTimeZone = $vals['updatedTimeZone'];
			}
			
			
			if (isset($vals['recordVersion'])){
				
				$this->recordVersion = $vals['recordVersion'];
			}
			
			
			if (isset($vals['isDelete'])){
				
				$this->isDelete = $vals['isDelete'];
			}
			
			
			if (isset($vals['procStatus'])){
				
				$this->procStatus = $vals['procStatus'];
			}
			
			
			if (isset($vals['createTime'])){
				
				$this->createTime = $vals['createTime'];
			}
			
			
			if (isset($vals['lineCount'])){
				
				$this->lineCount = $vals['lineCount'];
			}
			
			
			if (isset($vals['ztHandleStatus'])){
				
				$this->ztHandleStatus = $vals['ztHandleStatus'];
			}
			
			
			if (isset($vals['ztHandleRemark'])){
				
				$this->ztHandleRemark = $vals['ztHandleRemark'];
			}
			
			
		}
		
	}
	
	
	public function getName(){
		
		return 'InfWmsPoStatusSModel';
	}
	
	public function read($input){
		
		$input->readStructBegin();
		while(true){
			
			$schemeField = $input->readFieldBegin();
			if ($schemeField == null) break;
			$needSkip = true;
			
			
			if ("infWmsPoStatusSId" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->infWmsPoStatusSId); 
				
			}
			
			
			
			
			if ("transactionId" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->transactionId);
				
			}
			
			
			
			
			if ("receiptNo" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiptNo);
				
			}
			
			
			
			
			if ("referenceNo" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->referenceNo);
				
			}
			
			
			
			
			if ("warehouse" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->warehouse);
				
			}
			
			
			
			
			if ("receiptType" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiptType);
				
			}
			
			
			
			
			if ("statusCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->statusCode);
				
			}
			
			
			
			
			if ("actionTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->actionTime); 
				
			}
			
			
			
			
			if ("memo" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->memo);
				
			}
			
			
			
			
			if ("rowMd5" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->rowMd5);
				
			}
			
			
			
			
			if ("createdByUser" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->createdByUser);
				
			}
			
			
			
			
			if ("createdOffice" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->createdOffice);
				
			}
			
			
			
			
			if ("createdDtmLoc" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->createdDtmLoc); 
				
			}
			
			
			
			
			if ("createdTimeZone" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->createdTimeZone);
				
			}
			
			
			
			
			if ("updatedByUser" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->updatedByUser);
				
			}
			
			
			
			
			if ("updatedOffice" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->updatedOffice);
				
			}
			
			
			
			
			if ("updatedDtmLoc" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->updatedDtmLoc); 
				
			}
			
			
			
			
			if ("updatedTimeZone" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->updatedTimeZone);
				
			}
			
			
			
			
			if ("recordVersion" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->recordVersion); 
				
			}
			
			
			
			
			if ("isDelete" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->isDelete); 
				
			}
			
			
			
			
			if ("procStatus" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->procStatus); 
				
			}
			
			
			
			
			if ("createTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->createTime); 
				
			}
			
			
			
			
			if ("lineCount" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->lineCount);
				
			}
			
			
			
			
			if ("ztHandleStatus" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->ztHandleStatus); 
				
			}
			
			
			
			
			if ("ztHandleRemark" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->ztHandleRemark);
				
			}
			
			
			
			if($needSkip){
				
				\Osp\Protocol\ProtocolUtil::skip($input);
			}
			
			$input->readFieldEnd();
		}
		
		$input->readStructEnd();
		
		
		
	}
	
	public function write($output){
		
		$xfer = 0;
		$xfer += $output->writeStructBegin();
		
		if($this->infWmsPoStatusSId !== null) {
			
			$xfer += $output->writeFieldBegin('infWmsPoStatusSId');
			$xfer += $output->writeI64($this->infWmsPoStatusSId);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->transactionId !== null) {
			
			$xfer += $output->writeFieldBegin('transactionId');
			$xfer += $output->writeString($this->transactionId);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiptNo !== null) {
			
			$xfer += $output->writeFieldBegin('receiptNo');
			$xfer += $output->writeString($this->receiptNo);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->referenceNo !== null) {
			
			$xfer += $output->writeFieldBegin('referenceNo');
			$xfer += $output->writeString($this->referenceNo);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->warehouse !== null) {
			
			$xfer += $output->writeFieldBegin('warehouse');
			$xfer += $output->writeString($this->warehouse);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiptType !== null) {
			
			$xfer += $output->writeFieldBegin('receiptType');
			$xfer += $output->writeString($this->receiptType);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->statusCode !== null) {
			
			$xfer += $output->writeFieldBegin('statusCode');
			$xfer += $output->writeString($this->statusCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->actionTime !== null) {
			
			$xfer += $output->writeFieldBegin('actionTime');
			$xfer += $output->writeI64($this->actionTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->memo !== null) {
			
			$xfer += $output->writeFieldBegin('memo');
			$xfer += $output->writeString($this->memo);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->rowMd5 !== null) {
			
			$xfer += $output->writeFieldBegin('rowMd5');
			$xfer += $output->writeString($this->rowMd5);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdByUser !== null) {
			
			$xfer += $output->writeFieldBegin('createdByUser');
			$xfer += $output->writeString($this->createdByUser);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdOffice !== null) {
			
			$xfer += $output->writeFieldBegin('createdOffice');
			$xfer += $output->writeString($this->createdOffice);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdDtmLoc !== null) {
			
			$xfer += $output->writeFieldBegin('createdDtmLoc');
			$xfer += $output->writeI64($this->createdDtmLoc);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdTimeZone !== null) {
			
			$xfer += $output->writeFieldBegin('createdTimeZone');
			$xfer += $output->writeString($this->createdTimeZone);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedByUser !== null) {
			
			$xfer += $output->writeFieldBegin('updatedByUser');
			$xfer += $output->writeString($this->updatedByUser);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedOffice !== null) {
			
			$xfer += $output->writeFieldBegin('updatedOffice');
			$xfer += $output->writeString($this->updatedOffice);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedDtmLoc !== null) {
			
			$xfer += $output->writeFieldBegin('updatedDtmLoc');
			$xfer += $output->writeI64($this->updatedDtmLoc);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedTimeZone !== null) {
			
			$xfer += $output->writeFieldBegin('updatedTimeZone');
			$xfer += $output->writeString($this->updatedTimeZone);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->recordVersion !== null) {
			
			$xfer += $output->writeFieldBegin('recordVersion');
			$xfer += $output->writeI64($this->recordVersion);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isDelete !== null) {
			
			$xfer += $output->writeFieldBegin('isDelete');
			$xfer += $output->writeByte($this->isDelete);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->procStatus !== null) {
			
			$xfer += $output->writeFieldBegin('procStatus');
			$xfer += $output->writeByte($this->procStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createTime !== null) {
			
			$xfer += $output->writeFieldBegin('createTime');
			$xfer += $output->writeI64($this->createTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->lineCount !== null) {
			
			$xfer += $output->writeFieldBegin('lineCount');
			$xfer += $output->writeString($this->lineCount);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->ztHandleStatus !== null) {
			
			$xfer += $output->writeFieldBegin('ztHandleStatus');
			$xfer += $output->writeByte($this->ztHandleStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->ztHandleRemark !== null) {
			
			$xfer += $output->writeFieldBegin('ztHandleRemark');
			$xfer += $output->writeString($this->ztHandleRemark);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		$xfer += $output->writeFieldStop();
		$xfer += $output->writeStructEnd();
		return $xfer;
	}
	
}

?>